/* 
简单的做法：

    1. 如果想要移除一个参数，需要先确定函数体内没有使用该参数；
    2. 修改函数声明，使其成为你期望的状态；
    3. 找出所有使用旧的函数声明的地方，将它们改为使用新的函数声明；
    4. 测试。

迁移式做法：

    1. 如果有必要，先对函数内部进行重构，是后面的提炼步骤易于展开；
    2. 使用提炼函数将函数体提炼为一个新的函数；
        -- 如果你打算沿用旧的函数名字，先给新函数起一个易于搜索的临时名字；
    3. 如果提炼出的函数需要新增参数，用前面的简单做法添加即可；
    4. 测试；
    5. 对旧函数使用内联函数；
    6. 如果新函数使用了临时的名字，再次使用改变函数声明将其改回原来的名字；
    7. 测试。
*/

// 范例：把参数改为属性
function inNewEngland(aCustomer){
    return ["MA","CT", "ME","VT","NH","RI"].includes(aCustomer.address.state);
}

const newEnglanders = someCustomers.filters(c => inNewEngland(c));
/******************************************************************* */
function inNewEngland(stateCode){
    return ["MA","CT", "ME","VT","NH","RI"].includes(stateCode);
}

const newEnglanders2 = someCustomers.filters(c => inNewEngland(c.address.state));
